# 设置小数位数
# 四舍五入
# 每列四舍五入后小数位
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.random([5,5])
                  ,columns=['A','B','C','D','E'])
# print(df)
# print(df.round())
# 保留小数点后两位
# print(df.round(2))
# A保留小数点后1位 ， C保留小数点后两位
# print(df.round({'A':1,'C':2}))
# 设置Series对象类型的小数位数约束
s1 = pd.Series([1,0,2] , index=['A','B','D'])
# print(df.round(s1))



# 设置百分比
# apply函数 format()函数

# df['百分比'] = df['A'].apply(lambda x:format(x,'.0%'))
# df['百分比'] = df['A'].apply(lambda x:format(x,'.2%'))

#  实用map函数设置保留90位小数
df['百分比'] = df['A'].map(lambda x:'{:.0%}'.format((x)))
print(df)

# 设置千位分隔符
pd.set_option('display.unicode.east_asian_width',True)
data = [
    ['学python从0基础到放弃','1月',123456],
    ['学java从0基础到放弃', '2月', 34567],
    ['学c从0基础到放弃', '3月', 23456789],
]

columns = ['书籍名称','出版时间','销售额']

df = pd.DataFrame(data=data , columns=columns)

df['销售额']  = df['销售额'].apply(lambda  x:format(int(x) , ','))
print(df)



